Questão 14 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)

questão 14 sql plus oracle 9i

Veja abaixo a resposta correta da questão e uma breve análise sobre o conteúdo.

Considere a questão abaixo com base em seus conhecimentos de SQLPLUS do banco de dados Oracle 9i. 

Suponha que você atualizou a tabela tbl_produto, acrescentando 10% ao PRECO de todos os produtos desta tabela, 

mas, por uma solicitação de seu gerente, você precisa restaurar o PRECO dos produtos que têm QUANTIDADE 

menor ou igual a 10. Antes de fazer as alterações na tbl_produto, você criou uma tabela tbl_produto_arm como 

cópia de segurança. 

SQL> desc tbl_produto 

Name Type 

#cod number 

descricao varchar2(50) 

preco number(10,2) 

quantidade number(7)

Analisando a estrutura acima, qual deve ser o comando necessário para atender à solicitação da gerência? 

(A) update tbl_produto p1 

 set p1.preco = (select p2.preco from tbl_produto_arm p2 

where p2.quantidade <= 10) 

where p1.cod = p2.cod; 

(B) update tbl_produto p1 

 set p1.preco = (select p2.preco from tbl_produto_arm p2 

where p1.cod = p2.cod and p2.quantidade <= 10); 

(C) update tbl_produto p1 

 set p1.preco = p2.preco 

where p1.cod in (select p2.cod from tbl_produto_arm p2 

where p2.quantidade <= 10); 

(D) update tbl_produto p1 

 set p1.preco = (select p2.preco from tbl_produto_arm p2 

where p1.cod = p2.cod) 

where p1.quantidade <= 10; 

(E) update tbl_produto p1, tbl_produto_arm p2 

 set p1.preco = p2.preco 

where p1.cod = p2.cod 

 and p1.quantidade <= 10;

Desafio de SQLPLUS: Restauração do Preço dos Produtos

Nesta questão, analisaremos uma situação envolvendo o SQL PLUS no banco de dados Oracle 9i. O objetivo é restaurar os preços dos produtos que têm uma quantidade igual ou inferior a 10, com base em uma tabela de backup chamada tbl_produto_arm.

Descrição da Questão:

Suponha que a tabela tbl_produto tenha sido atualizada, aumentando o preço de todos os produtos em 10%. Agora, a gerência solicitou a restauração dos preços dos produtos que têm uma quantidade menor ou igual a 10. Antes de realizar qualquer alteração na tabela tbl_produto, foi criada uma tabela de backup chamada tbl_produto_arm.

A estrutura da tabela tbl_produto é a seguinte:

SQL> desc tbl_produto 

Name       Type 

#cod       number 

descricao  varchar2(50) 

preco      number(10,2) 

quantidade number(7)

Resposta Correta:

Na alternativa (D), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base no código, e a cláusula where principal limita a atualização apenas para os produtos que têm quantidade menor ou igual a 10 na tabela tbl_produto.

update tbl_produto p1 

set p1.preco = (select p2.preco from tbl_produto_arm p2 

where p1.cod = p2.cod) 

where p1.quantidade <= 10;

Portanto, a alternativa (D) está correta, pois atende aos requisitos da questão, restaurando os preços apenas para os produtos que têm quantidade menor ou igual a 10.

Justificativa:

Na alternativa (A), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base na quantidade, o que não atende ao requisito da questão. Além disso, a comparação de p1.cod = p2.cod está correta, mas o critério de seleção do preço está baseado na quantidade, não no código.

Na alternativa (B), a subconsulta busca o preço correspondente na tabela de backup tbl_produto_arm com base no código e na quantidade, mas a cláusula where principal está ausente, o que faz com que a atualização seja feita para todos os registros da tabela tbl_produto.

Na alternativa (C), a atualização é realizada com base no código presente na tabela de backup tbl_produto_arm, mas o critério de seleção está baseado apenas na quantidade, o que não atende ao requisito da questão. Além disso, a cláusula in pode resultar em atualização incorreta, pois não garante a correspondência exata entre os códigos das duas tabelas.

Na alternativa (E), a atualização é feita corretamente com base na correspondência dos códigos entre as duas tabelas, mas não leva em consideração que os preços devem ser restaurados com base na tabela de backup tbl_produto_arm.

Portanto, todas as alternativas têm algum problema em relação aos critérios de seleção dos preços para restauração ou na forma como são aplicadas as cláusulas where e set.

Assunto Principal da Questão:

SQLPLUS no contexto de atualização de tabelas com base em subconsultas e condições.

Assuntos a Estudar:

Utilização de subconsultas em SQLPLUS.

Atualização de tabelas com base em condições específicas.

Uso de backups para restauração de dados.

Nível de Dificuldade:

Moderado. Requer compreensão das estruturas de consulta e atualização de tabelas no SQLPLUS.

Resposta no Oracle 12c:

A resposta provavelmente seria a mesma no Oracle 12c, já que as estruturas e funcionalidades do SQLPLUS não costumam mudar significativamente entre versões. No entanto, é sempre importante verificar a documentação específica da versão para confirmar a sintaxe e os recursos disponíveis.

Quer acompanhar as novidade do site?

Leia mais em: iretoaoponto-tech.com.br/conc...

Questão 14 - HCPA 2009/4 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS)

Última atualização: 2024-02-23

Quer acompanhar as novidade do site?
Veja também:

Como remover caracteres especiais no mysql?

remover caracteres especiais mysql

Como alterar senha do root no mysql?

alterar senha root mysql

Como alterar nome da tabela no MySQL?

Alterar nome de tabela mysql

Questão 11 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)

questão 11 comandos sql oracle 10g

Questão 12 - HCPA 2011 - ANALISTA DE SISTEMAS I (ADMINISTRADOR DE BANCO DE DADOS E SEGURANÇA DA INFORMAÇÃO)

questão 12 PLSQL package

Questão 2 - HCPA 2020 - ANALISTA DE TI (DESENVOLVIMENTO)

questão 2 condicional plsql

Web Stories